package com.ostrich.a2104gao5.test21

/**
 *
 * @JvmField修饰属性，kotlin中属性默认是private，添加@JvmField后public
 * 应用：ARouter路由跳转传数据的时候使用
 *
 * @JvmOverLoads：重载,java中识别kotlin的重载方法
 * 方法重载和重写有什么区别？
 * 重写：子类重写父类的方法，方法名、参数名、返回值必须一致
 * 重载：一个类定义多个相同方法名的方法，但是参数或返回值不能一致
 */
class Demo {
    @JvmField
    val str = "1234"
    //重载
//    fun a(){}
//    fun a(str:String){}
//    fun a(str:String,age:Int){}
    //kotlin写法
    @JvmOverloads
    fun a(str:String = "默认",age:Int = 0,str2:String = "默认2"){

    }
}